package com.tiger.communal.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.tiger.common.annotation.Excel;
import com.tiger.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 construction_unit
 *
 * @author tiger
 * @date 2022-09-13
 */
@EqualsAndHashCode(callSuper = false)
@Data
@ApiModel(value = "construction_unit对象", description = "施工单位管理")
public class ConstructionUnit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 单位名称 */
    @Excel(name = "单位名称")
    @ApiModelProperty(value = "单位名称")
    private String name;

    /** 1-施工单位，2-监理单位，3-咨询单位，4-供应商 */
    @Excel(name = "1-施工单位，2-监理单位，3-咨询单位，4-供应商")
    @ApiModelProperty(value = "1-施工单位，2-监理单位，3-咨询单位，4-供应商")
    private Integer type;

    /** 法定代表人 */
    @Excel(name = "法定代表人")
    @ApiModelProperty(value = "法定代表人")
    private String legalRepresentative;

    /** 地址 */
    @Excel(name = "地址")
    @ApiModelProperty(value = "地址")
    private String address;

    /** 联系人 */
    @Excel(name = "联系人")
    @ApiModelProperty(value = "联系人")
    private String contact;

    /** 联系人电话 */
    @Excel(name = "联系人电话")
    @ApiModelProperty(value = "联系人电话")
    private String contactPhone;

    /** 开户行名称 */
    @Excel(name = "开户行名称")
    @ApiModelProperty(value = "开户行名称")
    private String depositBank;

    /** 银行账户 */
    @Excel(name = "银行账户")
    @ApiModelProperty(value = "银行账户")
    private String bankAccount;

    /** 营业执照代码 */
    @Excel(name = "营业执照代码")
    @ApiModelProperty(value = "营业执照代码 统一社会信用代码")
    private String licenseCode;

    /** 企业资质 */
    @Excel(name = "企业资质")
    @ApiModelProperty(value = "企业资质")
    private String qualification;

    /** 1-未提交，2-审批中，3-审批通过，4-已驳回 */
    @Excel(name = "1-未提交，2-审批中，3-审批通过，4-已驳回")
    @ApiModelProperty(value = "1-未提交，2-审批中，3-审批通过，4-已驳回")
    private Long status;

    /** 1-是，0-否 */
    @Excel(name = "1-是，0-否")
    @ApiModelProperty(value = "1-是，0-否 ")
    private Integer isDeleted;

    /** $column.columnComment */
    @Excel(name = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /** $column.columnComment */
    @Excel(name = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    /** 创建人 */
    @Excel(name = "创建人")
    @ApiModelProperty(value = "创建人")
    private Long createById;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    @ApiModelProperty(value = "创建人名称")
    private String createByName;

    /** 更新人 */
    @Excel(name = "更新人")
    @ApiModelProperty(value = "更新人")
    private Long updateById;

    /** 更新人名称 */
    @Excel(name = "更新人名称")
    @ApiModelProperty(value = "更新人名称")
    private String updateByName;

    /** 租户id(0--平台用户 非0--正常租户) */
    @Excel(name = "租户id(0--平台用户 非0--正常租户)")
    @ApiModelProperty(value = "租户id(0--平台用户 非0--正常租户)")
    private Long tenantId;

    @ApiModelProperty(value = "开户名")
    private String accountName;

    @ApiModelProperty(value = "公司id")
    private Long companyId;

    @ApiModelProperty(value = "1-升序 2-降序")
    private Long rank;

    @ApiModelProperty("附件集合")
    private List<ConstructionUnitEnclosure> unitEnclosureList = new ArrayList<>();


    @ApiModelProperty(value = "oa审核链接")
    private String oaFile;


    @ApiModelProperty(value = "OA的token")
    private String token;

    @ApiModelProperty(value = "OA的loginName")
    private String loginName;


}
